<template>
	<view class="content b-t">
   <div style="padding: 20rpx">
     <u-search :show-action="true" action-text="搜索" v-model="keyword" @search="search" @custom="search"></u-search>
   </div>
    <u-empty mode="address" v-if="!addressListShow.length"></u-empty>
		<view class="list b-b" v-for="(item, index) in addressListShow" :key="index" @click="checkAddress(item)">
			<view class="wrapper">
				<view class="address-box">
					<text v-if="item.default" class="tag">默认</text>
					<text class="address">{{item.address}} {{item.code}}</text>
				</view>
				<view class="u-box">
					<text class="name">{{item.username}}</text>
					<text class="mobile">{{item.phone}}</text>
				</view>
			</view>
      <text class="yticon icon-bianji" @click.stop="addAddress('edit', item)"></text>
      <text style="margin-left: 20rpx;font-size: 40rpx" class="yticon icon-iconfontshanchu1" @click.stop="deleteAddress( item)"></text>

		</view>
		
		<button class="add-btn" @click="addAddress('add', {id: ''})">新增地址</button>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				source: 0,
        keyword: '',
        addressListShow: [],
				addressList: [

				]
			}
		},
		onShow(){
      this.getList()
		},
    onLoad({ source }) {
      this.source = source || 0
    },
		methods: {
      search() {
        console.log('-----')
        this.addressListShow = this.addressList.filter(item => {
          return item.username.indexOf(this.keyword) > -1 || item.address.indexOf(this.keyword) > -1
        })
      },
      getList() {
        this.$api.addressList({
          member_id: uni.getStorageSync('userInfo').id
        }).then(res => {
          this.addressList = res
          this.addressListShow = this.addressList
        })
      },
			//选择地址
			checkAddress(item){
				if(this.source == 1){
					//this.$api.prePage()获取上一页实例，在App.vue定义
					this.$prePage().address = item;
          // 上一页实例
					uni.navigateBack()
				}
			},
			addAddress(type, item){
        if (!uni.getStorageSync('userInfo').id) {
          uni.showToast({
            title: '请先登录',
            icon: 'none'
          })
          return
        }
				uni.navigateTo({
					url: `/pages/address/addressManage?type=${type}&id=${item.id}`
				})
			},
      // 删除地址
      deleteAddress(item) {
        this.$api.deleteAddress({
          id: item.id
        }).then(res => {
          this.getList()
        })
      }
		}
	}
</script>

<style lang='scss'>
	page{
		padding-bottom: 120upx;
	}
	.content{
		position: relative;
	}
	.list{
		display: flex;
		align-items: center;
		padding: 20upx 30upx;;
		background: #fff;
		position: relative;
    border-bottom: 1px solid #e4e7ed;
	}
	.wrapper{
		display: flex;
		flex-direction: column;
		flex: 1;
	}
	.address-box{
		display: flex;
		align-items: center;
		.tag{
			font-size: 24upx;
			color: #2aac34;
			margin-right: 10upx;
			background: #fffafb;
			border: 1px solid #2aac34;
			border-radius: 4upx;
			padding: 4upx 10upx;
			line-height: 1;
		}
		.address{
			font-size: 30upx;
			color: $font-color-dark;
		}
	}
	.u-box{
		font-size: 28upx;
		color: $font-color-light;
		margin-top: 16upx;
		.name{
			margin-right: 30upx;
		}
	}
	.icon-bianji{
		display: flex;
		align-items: center;
		height: 80upx;
		font-size: 40upx;
		color: $font-color-light;
		padding-left: 30upx;
	}
	
	.add-btn{
		position: fixed;
		left: 30upx;
		right: 30upx;
		bottom: 16upx;
		z-index: 95;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 690upx;
		height: 80upx;
		font-size: 32upx;
		color: #fff;
		background-color: #2aac34;
		border-radius: 10upx;
	}
</style>
